// pages/home/home.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        access_token: '',
        img_url: '../../assets/bg2.jpg'
    },
    // 获取 access_token
    getAccessToken() {
        if(wx.getStorageSync('access_token')){
            this.setData({
             access_token: wx.getStorageSync('access_token')
            })
            wx.showToast({ 
              title: '鉴权成功',
            })
            return
        }
        wx.request({ 
          url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=I7gRxk4CD2M3igmVsmFq3u0d&client_secret=TQYwsWIGhsboGxi4PtgGNhrUfTtnbWym',
          success: (res) => {
            console.log(res.data) 
              if(res.data.error){ 
               return wx.showToast({
                  title: '鉴权失败',
                })
              }
              wx.showToast({
                title: '鉴权成功',
              })
              this.setData({
                access_token: res.data.access_token
               })
              wx.setStorageSync('access_token', res.data.access_token)
          }
        })
    },

    // 选择图片
    chooseImg(e) {
      console.log(e.currentTarget.dataset.type)
        wx.chooseImage({
            count: 1,
            sizeType: ['original'],
            sourceType: ['album','camera'],
            success: (res) => {
                console.log(res.tempFilePaths[0])
                this.imgTransFormBase64(res.tempFilePaths[0],e.currentTarget.dataset.type)
            }
        })
    },

    // 将图片转成base64格式
    imgTransFormBase64(imgUrl,type) {
      wx.showLoading({
        title: '图片正在制作中',
      })
      console.log(imgUrl)
      const fileSystem = wx.getFileSystemManager()
      fileSystem.readFile({
        filePath: imgUrl,
        encoding: 'base64',
        success: (res) => {
          console.log(res)
          const data = {
            image: res.data 
          }
          if(type === 'masks'){
            data.type = 'anime_mask'
            data.mask_id = Math.ceil(Math.random() * 8)
          }
          this.cartoonImg(data)
        }
      })
    },

    // 人像动漫画
    cartoonImg(data){
      wx.request({
        url: 'https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime?access_token=' + this.data.access_token,
        header: {
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        method: 'POST',
        data,
        success: (res) => {
          console.log(res)
          this.setData({
            img_url: 'data:image/png;base64,' + res.data.image
          })
          wx.hideLoading()
        }
      })
    },

    // 点击图片预览和保存
    previewImg(){
      wx.previewImage({
        urls: [this.data.img_url],
        current: this.data.img_url
      })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.getAccessToken()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
    
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})